Oracle System Design(draft)

👤 Tiger   📅 2023-06-25 22:00

 

Oracle架构

  1. Oracle智能合约:负责接收来自各个Oracle节点的更新报告,并将这些报告传递给主协议合约。该合约需要有机制来接收和验证(阈值)Oracle节点的报告,并根据这些报告来更新协议状态。
  2. Off-chain Oracle守护进程:这个守护进程需要在每个Oracle节点上运行,负责监视协议状态并生成更新报告。这个守护进程应该能够连接到区块链网络,获取和处理必要的数据,然后生成并发送更新报告。
  3. Oracle节点网络:这个网络由运行Oracle守护进程的计算机节点组成。这些节点共同提供必要的信息,使得Oracle智能合约可以根据这些信息来计算协议的新状态。

Oracle功能

  1. 计算Staking收益:根据Oracle节点提供的信息,协议需要能够更新用户的收益。
  2. 分发节点运营商奖励:协议需要能够根据Oracle节点提供的信息来计算和分发节点运营商的奖励。
  3. 处理提款请求:根据Oracle节点提供的信息来计算可提款的资金数量(未来收益预估)。
  4. 确定哪些验证器应该发起自愿退出:需要一个机制来确定哪些验证器应该退出。
  5. 进入防护模式:在某些情况下,协议可能需要进入防护模式。需要一个机制来确定何时应该触发这种模式。
  6. 自我检测:检测和处理不诚实或失效的Oracle节点。

Oracle节点网络

  1. 节点组成:Oracle节点网络由一组独立运行的Oracle节点组成。这些节点分布在不同的地理位置和不同的硬件设备上,以提高网络的弹性和抗干扰性。每个Oracle节点都运行同样的Oracle守护进程软件。
  2. 守护进程功能:Oracle守护进程在每个节点上运行,负责监视协议状态并生成状态更新报告。守护进程需要有能力连接到区块链网络,获取必要的信息,处理这些信息,生成更新报告,并将这些报告发送给Oracle智能合约。
  3. 数据获取:节点从区块链网络和可能的其他外部数据源获取必要的数据。这些数据可能包括区块链的状态,交易数据,智能合约的状态,甚至可能包括来自其他区块链网络的数据。
  4. 数据处理和报告生成:节点需要处理从区块链网络获取的数据,并基于这些数据生成更新报告。报告生成的过程可能涉及一些复杂的计算,例如,计算Validator的权益,计算用户的收益,或者计算协议的总价值等。
  5. 报告发送:生成的更新报告被发送到Oracle智能合约。每个节点都需要有能力将其生成的报告发送到Oracle智能合约。通常,这个过程涉及到一些加密和签名的操作,以确保报告的完整性和不可否认性。
  6. 节点激励和治理:为了激励节点提供准确和及时的报告,需要设置一个激励机制。可以设定一种机制,使得提供准确报告的节点可以获得一定的奖励。另外,也需要一种治理机制,以便于管理Oracle节点网络,例如,添加新的节点,或者惩罚提供不准确报告的节点。
  7. 安全性和弹性:Oracle节点网络需要具有足够的安全性和弹性,以抵御各种攻击和故障。需要设计一种机制来检测和处理不诚实或失效的节点。另外,节点之间可能需要通过一种安全和可靠的通信协议来交换信息。 

V1 & V2

V3


END

Comments